#pragma once

#include <string>
#include <vector>
#include <boost/algorithm/string.hpp>  // boost 库中 字符串的相关算法

namespace util {
    namespace string {
        // 字符串分割
        void split(const std::string& src, std::vector<std::string>* token, const std::string& sep) {
            // 第一个参数表示放在哪里, 第二个参数表示要切分的字符串, 第三个参数表示哪些字符要被切分, 只要是其中的一项, 就会被切分
            // 最后一个参数 表示是否需要压缩分隔符
            boost::split(*token, src, boost::is_any_of(sep), boost::algorithm::token_compress_on);
        }

        // 字符串替换, 原字符串会直接变化
        void replace_all(std::string& src, const std::string& search, const std::string& replace)  {
            boost::algorithm::replace_all(src, search, replace);
        }
    }
}